<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .v-enter,.v-leave-to{
            transform:translateX(100px);
            opacity:0;
        }
        .v-enter-acitve,.v-leave-active{
            transition: all 1s ease-in;
        }
    </style>
</head>
<script src="vue.js"></script>
<body>
    <div id="app">
        <!-- prevent阻止事件的默认行为 -->
        <a href="#" @click.prevent="comName='logincom' ">登录</a>
        <a href="#" @click.prevent="comName='register' ">注册</a>

        <transition mode="out-in">
        <component :is="comName"></component>
        <!-- component标签就是一个占位符，它用来在这里渲染一个具体的组件 -->
        </transition>

    </div>

    <template id="login">
        <div>
            <p>欢迎您登录</p>
            用户名： <input type="text"><br>
            密码：   <input type="text"><br>
            <input type="button" value="登录">
        </div>
    </template>

    <template id="register"> 
        <div>
            <p>欢迎您注册</p>
            用户名： <input type="text"><br> 
            密码：   <input type="text"><br>
            验证码：   <input type="text"><br>
            <input type="button" value="登录">
        </div>
    </template>

    <script>

        var vm = new Vue({
            el:'#app',
            data:{
                comName:'logincom'
            },

            components:{
                logincom:{
                    template:'#login'
                },
                register:{
                    template:'#register'
                }
            }
        })
     </script>
</body>
</html>